#include <stdio.h>
#include <string.h>
#include <stdlib.h>

// 打开文件
FILE *file_open(const char *path, const char *mode);

// 关闭文件 要创二级指针才能修改
int file_close(FILE **fp);


int main(int argc, char const *argv[])
{
    // 打开文件
    FILE *fp = file_open("hello.txt", "r");
    int line_num=0;  //记录行数
    char ch = 0;    //读取文件中的每个字符
    for (int i = 0; EOF!=(ch=fgetc(fp)); i++)
    {
        if (ch=='\n')
        {
            line_num++;
        }
    }
    printf("hello.txt中一共有%d行数据\n", line_num);
    // 关闭文件
    file_close(&fp);
    return 0;
}

// 打开文件
FILE *file_open(const char *path, const char *mode)
{
    FILE *fp = fopen(path, mode);
    if (fp == NULL)
    {
        printf("文件打开失败!\n");
        exit(-1);
    }
    return fp;
}

// 关闭文件 要创二级指针才能修改
int file_close(FILE **fp)
{
    fclose(*fp);
    *fp = NULL;
}